package Logica.Gestores;

import java.util.ArrayList;
import java.util.List;

import AccesoADatos.EquipoDePrimeraDAO;
import AccesoADatos.EquipoFantasiaDAO;
import AccesoADatos.JugadorDAO;
import Logica.Entidades.EquipoDePrimera;
import Logica.Entidades.Jugador;
import Logica.Entidades.Partido;
import Presentacion.Interfaz;

public class GestorEquipoDePrimera {
	
	private EquipoDePrimeraDAO edpDAO;
	private Interfaz padre;
	
	public GestorEquipoDePrimera(Interfaz i){
		super();
		padre = i;
		edpDAO = new EquipoDePrimeraDAO();
	}
	
	public List<EquipoDePrimera> obtenerEquipos(){
		GestorJugador gj = padre.getGestorJugador();
		List<List<String>> equiposDto;
		List<EquipoDePrimera> listaEquipos = new ArrayList<EquipoDePrimera>();
		equiposDto = edpDAO.obtenerEquipos();
		for(int i = 0 ; i < equiposDto.size() ; i++){
			Integer index = new Integer(equiposDto.get(i).get(0));
			EquipoDePrimera equipo = new EquipoDePrimera(index.intValue(),equiposDto.get(i).get(1));
			List<Jugador> jugadoresEquipo = gj.getJugadores(index.intValue());
			equipo.setPlantel(jugadoresEquipo);
			listaEquipos.add(equipo);
		}
		return listaEquipos;
	}
	
	public EquipoDePrimera buscarEquipoPrimera(Jugador j){
		List<List<String>> equipoDto = edpDAO.buscarEquipoPrimera(j);
		Integer id = new Integer(equipoDto.get(0).get(0));
		EquipoDePrimera result = new EquipoDePrimera(id.intValue(),equipoDto.get(0).get(1));
		return result;
	}
	
	
	public void obtenerjugadoresPlantel(Partido partidoseleccionado){
		//El retorno debe ser Jugador[]
	}
	
	public void buscarEquipos(int nroFecha, int nroPartido){
		// El retorno debe un EquipoDeFantasia[]
	}
	
	public EquipoDePrimera buscarEquipoPrimera(int IdEquipoPrimera){
		List<List<String>> equipoDto = edpDAO.buscarEquipoPrimera(IdEquipoPrimera);
		Integer id = new Integer(equipoDto.get(0).get(0));
		EquipoDePrimera result = new EquipoDePrimera(id.intValue(),equipoDto.get(0).get(1));
		return result;
	}
}
